package cn.zhx.xa.system.dao;


import cn.zhx.xa.model.entity.SysRoleMenu;
import cn.zhx.xa.system.mapper.SysRoleMenuMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Component;

import java.util.List;


@Component
public class SysRoleMenuDao extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> {


    public List<Long> findSysRoleMenuByRoleId(Long roleId) {
        return lambdaQuery()
                .eq(SysRoleMenu::getRoleId, roleId)
                .eq(SysRoleMenu::getIsHalf, 0)
                .list()
                .stream()
                .map(SysRoleMenu::getMenuId)
                .toList();
    }

    public void deleteByRoleId(Long roleId) {
        remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
    }

    public void updateSysRoleMenuIsHalf(Long id) {
        lambdaUpdate()
                .set(SysRoleMenu::getIsHalf, 1)
                .eq(SysRoleMenu::getId, id)
                .update();
    }
}
